package com.hkfrich.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hkfrich.common.domain.TreeSelect;
import com.hkfrich.system.domain.SysMenu;
import com.hkfrich.system.domain.SysRole;

import java.util.List;

/**
 * @ClassName SysMenuSevice
 * @Desscription
 * @Author _HeiShuai
 * @Date 2022/8/20 10:37
 * @Version 1.0
 **/
public interface SysMenuService extends IService<SysMenu> {
    List<String> selectPermsByUserId(Long userid);

    List<SysMenu> selectMenuList(SysMenu sysMenu, Long userId);

    String checkMenuNameUnique(SysMenu sysMenu);

    boolean hasChildByMenuId(Long id);

    boolean checkMenuExistRole(Long id);

    List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus);
    /**
     * 构建前端所需要树结构
     *
     * @param menus 菜单列表
     * @return 树结构列表
     */
    public List<SysMenu> buildMenuTree(List<SysMenu> menus);

    List<SysMenu> selectMenuList(Long userId);

    /**
     * 根据角色ID查询菜单树信息
     *
     * @param roleId 角色ID
     * @return 选中菜单列表
     */
    public List<Long> selectMenuListByRoleId(Long id);

}
